#ifndef __RENDER_OPENGLGRAPHICSWINDOW__
#define __RENDER_OPENGLGRAPHICSWINDOW__
#include "GraphicWindow.h"
#include <windows.h>

namespace Render
{
	class rtOpenGLGraphicWindow : public rtGraphicWindow
	{
	public:
		rtOpenGLGraphicWindow(void);
		~rtOpenGLGraphicWindow(void);

		virtual bool init(std::string& windowName, rtWindowInfo& createInfo);
		virtual void destroy();

		bool createWindow();
		bool initDriver();

		void registerWindowClasses();
		void getWGLExtensionsWithFakeWindow();
		bool setFullScreen();
	private:
		HINSTANCE      _hInstance;
		HWND           _hWnd;
		HDC		       _hDC;
		HGLRC	       _hGLRC;

		int				      _pixelformat;
		PIXELFORMATDESCRIPTOR _pfd;		

		rtWindowInfo   _windowInfo;

		bool           _windowClassRegistered;
		std::string    _windowName;

		int _desktopBitsPixel;
		int _desktopWidth;
		int _desktopHeight;


	};
}
#endif



